//! \file GuiOpenGL.h
//! \brief TODO: Document
// -----------------------------------------------------------------------------
//! This program is free software; you can redistribute it and/or
//! modify it under the terms of the GNU General Public License
//! as published by the Free Software Foundation; either version 2
//! of the License, or (at your option) any later version.
//!
//! This program is distributed in the hope that it will be useful,
//! but WITHOUT ANY WARRANTY; without even the implied warranty of
//! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//! GNU General Public License for more details.
//!
//! You should have received a copy of the GNU General Public License
//! along with this program; if not, write to the Free Software Foundation,
//! Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
// -----------------------------------------------------------------------------
#ifndef dGUI_CEGUI_H_
#define dGUI_CEGUI_H_

#include "GuiError.h"
#include <GL/gl.h>
#include <GL/glu.h>

//#ifdef __cplusplus
//  extern "C" {
//#endif

class GuiOpenGL
{
  public:

    // Members

    // Methods
    static GuiOpenGL& getSingleton();
    static GuiOpenGL* getSingletonPtr();
    static tERROR start(void);
    static tERROR stop(tERROR Error);
    static tERROR clear(void);

  private:

    // Singleton
    static GuiOpenGL* m_pGuiOpenGL;           // (Singleton) Instance.
    GuiOpenGL() {};                        // (Singleton) Private so that it can  not be called
    GuiOpenGL(GuiOpenGL const&);              // (Singleton) Don't implement.
    GuiOpenGL& operator=(GuiOpenGL const&);   // (Singleton) Don't implement.

    // Members
//    static SDL_Surface *m_pSurface;

    // Methods

};

//  #ifdef __cplusplus
//    }
//  #endif

#endif // dGUI_CEGUI_H_
